bdd957f1577feabdec5c0aa58727e2b6a8eecfb5,java/java-impl/src/com/intellij/codeInsight/completion/JavaCompletionSorting.java,JavaCompletionSorting,addJavaSorting,#CompletionParameters#CompletionResultSet#,40

Before Change


    });

    if (!smart) {
      sorter = sorter.weighAfter("recursion", new LookupElementWeigher("expectedType") {
        @NotNull
        @Override
        public Comparable weigh(@NotNull LookupElement item) {
          return item.getObject() instanceof PsiClass && !afterNew ? ExpectedTypeMatching.normal : getExpectedTypeMatching(item, expectedTypes);
        }
      });
    }
    return result.withRelevanceSorter(sorter);
  }

After Change


    afterNegativeStats.add(new PreferLocalVariablesLiteralsAndAnnoMethodsWeigher(type));
    ContainerUtil.addIfNotNull(afterNegativeStats, recursion(parameters, expectedTypes));
    if (!smart) {
      afterNegativeStats.add(new LookupElementWeigher("expectedType") {
        @NotNull
        @Override
        public Comparable weigh(@NotNull LookupElement item) {
          return item.getObject() instanceof PsiClass && !afterNew ? ExpectedTypeMatching.normal : getExpectedTypeMatching(item, expectedTypes);
        }
      });
    }
    afterNegativeStats.add(new LookupElementWeigher("nameEnd") {
      @NotNull